// tool/utils.js
export function randomColor (type = 'hex') {
  const chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']

  switch(type) {
    // #000000型
    case 'hex':
      const temp1 = new Array(6).fill(0)
      return '#' + temp1.map(item => {
        const randomIndex = Math.floor(Math.random() * 16)
        return chars[randomIndex]
      }).join('')

    // #00000000型
    case 'hexo':
      const temp2 = new Array(8).fill(0)
      return '#' + temp2.map(item => {
        const randomIndex = Math.floor(Math.random() * 16)
        return chars[randomIndex]
      }).join('')

    // rgb(255,255,255)型
    case 'rgb':
      const temp3 = new Array(3).fill(0)
      return 'rgb(' + temp3.map(item => {
        return Math.floor(Math.random() * 255)
      }).join(',') + ')'

    // rgba(255,255,255,1)型
    case 'rgba':
      const temp4 = new Array(3).fill(0)
      const randomOpacity = Math.random().toFixed(2)
      const rgb = temp4.map(item => {
        return Math.floor(Math.random() * 255)
      }).join(',')
      return `rgba(${rgb},${randomOpacity})`
  }
}

export function getIdealTenTimesNum (max, split) {
  const str = String(max)
  // 幂次计算
  const e = Number(str[0]) < 8 ? str.length - 1 : str.length
  const inc = Math.pow(10, e) // 取10的e次幂
  let ideal = inc
  while (ideal % split !== 0 || ideal < max) { // 如果ideal不能整除split，则继续增加ideal
    ideal += inc
  }
  return ideal
}
